# TODO 演示读写文件功能

# 在Python中，提供了内置的函数open()用于打开文件。open()函数返回一个文件对象，常常用这样的形式：
# file_object = open(file_name, mode)
# 这里，file_name是一个包含了你要访问的文件名的字符串值。mode参数是可选的，mode代表了打开文件的模式：只读，写入，追加等。默认的模式为只读(r)。
# 以下是mode参数的一些常用的值：
# 'r'：读模式，用于读取文件（默认）。
# 'w'：写模式，用于写入文件。如果文件已存在，则清空文件后再写入；如果文件不存在，则创建新文件。
# 'a'：追加模式，用于追加内容到文件。如果文件不存在，则创建新文件。
# 'b'：二进制模式。
# '+'：读写模式，用于同时读取和写入文件。
# 注意：'r+' 与 'w+' 区别在于，'r+' 不会清空已存在的文件。
# 在打开文件后，你可以使用read(), readline() 或 readlines()方法来读取文件中的内容，使用write()方法来写入文件。当你完成了文件操作后，记得使用close()方法来关闭文件。

# 打开一个名为"myfile.txt"的文件，并读取其中的内容
file = open("myfile.txt", 'r')
content = file.read()
print(content)  # 打印文件内容
file.close()  # 关闭文件

# 当前文件中的原始数据如下
# Hello World
# Hello Python
# Hello 原始数据

# 打开一个名为"myfile.txt"的文件，清空文件并写入新的内容
file = open("myfile.txt", 'w')
file.write("Hello, world!!!!!! \n")
file.write("Hello, w 参数清空了当前文件内的数据 \n")
file.close()

# 打开一个名为"myfile.txt"的文件，在文件末尾追加新的内容
file = open("myfile.txt", 'a')
file.write("Hello 这里是使用 a 参数追加的内容 . . . . . .!")
file.close()


# 注意事项：
# 在读取或写入文件后，记得使用close()方法关闭文件。如果你忘记了关闭文件，Python程序结束时会自动关闭，但是在某些情况下，这可能会导致文件被破坏或数据丢失。
# 在使用write()方法写入文件时，需要注意的是，write()方法只接受字符串作为参数。如果你想写入非字符串数据，需要先将其转换为字符串。
# 在以'w'模式打开文件时，如果文件已存在，会被清空。如果你不想清空文件，而是想在文件末尾追加内容，你应该使用'a'模式打开文件。


# 另外，Python提供了with关键字，可以在处理文件对象时自动处理文件的关闭操作，即使在处理文件时出现异常，也能保证文件最后能被正确关闭。比如：
with open("myfile.txt", 'r') as file:
    content = file.read()
    print(content)

